![Castorにdbt Cloudを連携しメタデータを取得してみた](https://devio2023-media.developers.io/wp-content/uploads/2022/08/92ea84a7f4674ca1fef6900e77b9e734.png)
Castorにdbt Cloudを連携しメタデータを取得してみた
さがらです。
フランス発のデータカタログCastorにdbt Cloudを連携しメタデータを取得してみたので、その内容をまとめてみます。
基本的には、下記のドキュメントの内容に沿って行っていきます。
Castorについて
Castorはフランス発のデータカタログで、Slackで議論を交わした内容を連携したり、同名カラムのビジネスメタデータをまとめて割り当てることができるなどの特徴を持ったデータカタログです。
下記の記事も参考にしてみてください。
dbt Cloudでの事前準備
dbt CloudをCastorに連携するに当たり、dbt Cloud上でも事前準備が必要です。
Service Tokensの発行
Castorからdbt Cloudに連携するために、Service Tokenが必要となります。
dbt CloudのAccount Settings
からService Tokens
から、+ New Token
を押します。
Castorへの連携にあたっては、ドキュメントによるとStakeholder
の権限があれば良いため、Stakeholder
だけをメタデータを抽出したいdbt project向けに付与し、Save
を押します。
すると、Tokenが表示されるのでコピーします。Token作成時のみしか見ることが出来ないので注意しましょう。
メタデータを抽出したいJob IDを確認
続いて、dbt Cloud上でメタデータを抽出したいdbt projectのproduction環境で動いているJob IDを確認します。この情報が、Castorでの連携時に必要になってきます。
Job IDの確認方法ですが、対象のジョブをdbt Cloudで開いた時のURLのJobs/
の後の数値が該当するので、メモしておきましょう。
Castorでの連携設定
続いて、Castorでdbt Cloudの連携設定をしていきます。
CastorのSettings
からIntegrations
タブを開き、dbt
を選択します。
Castor Managed
を選択し、Next
を押します。
Source Name
に任意の名前を入力し、Next
を押します。
事前に確認したdbt CloudのTokenをAPI Token
に、Job IDをJob Id
に入力し、Save
を押します。
すると、「Congrats」のような画面が出てきます。※数秒で消えてしまったため、スクショを撮れていないのですが…
初回の同期には、ドキュメントにもある通り最大で48時間かかります。
無事に同期が終わると、下図のようにCastor上の画面で更新時刻が表示されます。
Castorとdbt Cloudを連携して何ができるか
では、Castorにdbt Cloudを連携して何が出来るかを見ていきます。
基本的には、dbtによって定義された各テーブルの詳細画面で確認することが出来ます。対象のテーブルがdbtによって定義されていたらテーブルアイコンの横にdbtのアイコンが付いて、Description
もdbt上で定義されたものを確認することが出来ます。
また、今後は対象のテーブルにおいてどんなdbtのtestが行われているかもData Quality
タブで確認できそうです。ここは今後に期待ですね!
さらに、2023年2月に発表された新機能として、Castor上で定義したDescriptionをdbtに書き戻せる「Sync Back」という機能がリリースされていました!dbtに書き戻せるデータカタログは他にない認識なので、Castor独自の機能と言えると思います。(検証が上手く行けば、近日中にブログを執筆予定ですw)
最後に
Castorにdbt Cloudを連携する手順と、連携後Castorで何が出来るのかをまとめてみました。
Sync Back機能など、Castorはビジネスメタデータの管理において独自の機能を多く提供しているので、今後も楽しみな製品です!